package com.hourse.app.utils;

import com.hourse.platform.utils.AppTools;
import com.hourse.platform.utils.CurrentThread;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;

/**
 * @使用描述: AppTools
 * @作 者: jiang
 * @创建时间: 2020-11-29 15:21
 */
@Slf4j
@Component
public class RoleTools {

  @Autowired
  private RedisTemplate redisTemplate;
  /**
   * 判断是不是建设方
   */
  public static boolean isJSFRole(){
    return AppTools.getRoles().contains("JSF_GROUP");
  }

  /**
   * 判断是不是运营方
   */
  public static boolean isYUNYINGRole(){
    return AppTools.getRoles().contains("YUNYING");
  }

  /**
   * 判断是不是财政方
   */
  public static boolean isCZRole(){
    return AppTools.getRoles().contains("FINANCE_ROLE");
  }
  /**
   * 判断是不是资方
   */
  public static boolean isZFRole(){
    return AppTools.getRoles().contains("ZF_GROUP");
  }
  /**
   * 判断是不是总包方
   */
  public static boolean isZBRole(){
    return AppTools.getRoles().contains("ZCBS_GROUP");
  }
  /**
   * 判断是不是分包方
   */
  public static boolean isFBRole(){
    return AppTools.getRoles().contains("FCBS_GROUP");
  }
  /**
   * 判断是不是供应商
   */
  public static boolean isGYSRole() {return AppTools.getRoles().contains("GYS_GROUP");  }
  /**
   * @功能描述: 【获取当前用户ID】
   * @return : java.lang.String
   */
  public static String GetCurrentUserId(){
    return CurrentThread.getUserId();
  }

  /**
   * @功能描述: 【获取用户TOKEN】
   */
  public static String GetCurrentToken(){
    return CurrentThread.getToken();
  }

  public static boolean isAdmin(){

    return CurrentThread.isAdmin();
  }

  public static boolean isRole(String role){

    if(CurrentThread.getRoles() == null){
        log.warn(" 警告: 当前用户角色为 NULL");
        return false;
    }
    return CurrentThread.getRoles().contains(role);
  }


}
